草庐IT

XPath 简介

全部标签

xml - XPath 表达式根据另一个节点的值选择元素

对于以下XML,是否可以使用XPath表达式选择具有相同代码的区域项目金额在本地项目金额的5%以内的本地项目元素?在此示例中,将选择本地项目4。1100002200003300004400002100439900到目前为止,我只能使用下面的表达式选择具有相同代码的本地项目,它返回两个元素,但我似乎无法弄清楚如何将两个元素乘以0.95,因为添加了"/Amount*0.95"到此表达式的末尾会导致它仅返回第一个项目的金额乘以0.95。/Inventory/Local/Item[Code=/Inventory/Regional/Item/Code] 最佳答案

xml - 如何使用 XPath 选择最新/最新(基于时间戳)的 N 个元素?

我有以下示例xml:12013-01-19T14:20:01.000+02:0022013-09-13T14:52:34.000+02:0032013-10-02T12:47:47.000+02:0042013-10-23T14:52:08.000+02:0052013-07-23T14:55:20.000+02:0062013-10-02T12:44:24.000+02:00我可以使用以下xpath获取最后3个元素://data[position()>last()-3]/*:id,','这将返回id:4,5,6我需要的是获取3个具有最新(最大)时间戳的元素。我可以使用max函数来获取

python - 在 Python 3 中使用 XPath 解析 XML

我有以下xml:BiscuitsWrappedFinishedBiscuitsBiscuits(Wrapped)BiscuitsSweetFinishedBiscuitsBiscuits(Sweets)BiscuitsSavouryFinishedBiscuitsBiscuitsForCheese....我已经使用这段代码将它加载到树中:try:groups=etree.parse(PRODUCT_GROUPS_XML_FILEPATH)root=groups.getroot()internalGroup=root.findall("./internal-code")LOG.appen

javascript - 第 3 方 XML 解析器 (xpath.js) 给出错误 "Uncaught end tag name: div is not match the current start tagName"

使用parse.com的云代码,我试图从网页上抓取数据以发送到我的iOS应用程序。我已经在iOS中本地实现了网络抓取代码,但我正在尝试将此任务移至后端。我正在使用一个名为xpath.js的node.js库Parse.Cloud.define("test",function(request,response){Parse.Cloud.httpRequest({url:"http://menu.ha.ucla.edu/foodpro/default.asp",success:function(httpResponse){vartext=httpResponse.text;varxpath=

java - 在 Java 中,如何使用 SAX 解析器评估 XML 上的 XPATH 表达式?

在Java中,如何使用SAX解析器计算XML上的XPATH表达式?需要更动态的方式,因为XML格式不固定。所以我应该能够通过以下xpath为字符串xml作为字符串/输入源类似于Utility.evaluate("/test/@id='123'","") 最佳答案 这是一个例子://FirstcreateaDocumentDocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();DocumentBuilderdb=dbf.newDocumentBuilder();Do

xml - 使用 Xpath 比较两个 xml 字段

我已经检查了所有与我的问题相关的问题,但没有一个能够解决我的问题。我的问题是我需要使用XPath比较两个XML节点值。下面是XMLIsDiscountTrue我需要检查IsDiscount是否可用然后值是否为真。我试过这样检查//do:OrderForms/do:OrderForm/do:ExtendedProperties/do:GenericField[FieldKey="IsDiscount"andFieldValue="True"]并检查这是否等于true,但这不起作用。谁能解释一下为什么? 最佳答案 您在使用该XPath表

xml - 如何使用 xpath 表达式将多个文本节点选择为单个字符串?

我是xpath的新手,我正在尝试使用scrapy中的xpath表达式来抓取网站。我试图抓取的页面结构是-...Text1Text2Text3...我正在尝试的xpath是-//div[@class="article-body"]/p/text()但我得到的只是Text1在我的数据库中。取而代之的是,我希望输出为-Text1.Text2.Text3我想我应该使用concat或string-join或类似的功能。但我无法解决。由于我必须将此xpath表达式作为参数传递给scrapy,因此我只需要将它作为单个表达式。我试着给concat喂食功能进入我的django-scraperas-con

javascript - XPath 选择在 Microsoft Edge 中不起作用(在 Chrome 和 Firefox 中有效)

尝试从XML文档中选择特定行或一组行时,MicrosoftEdge始终返回第一行。其他浏览器可以很好地处理选择。我使用与相关网站上完全相同的代码和XML做了一个小型演示。https://jsbin.com/wufoyisudi/edit?html,output当在文本框中输入“aar”并按下提交时,第一行的第一个PortERPID是returnerd。但是,当在文本框中输入“abi”时,应返回第二行的PortERPID。这在Chrome和Firefox中运行良好,但在Microsoftedge中不起作用。XML:JavaScript:varval=document.getElement

C# 和 XPath - 获取属性?

我对所有建议持开放态度,但如果可能的话,我不喜欢循环。我试图从这个XML中获取num-found属性到一个变量中,但它返回NULL,我不知道为什么:xmlStringGoesHere下面是这个:代码:XmlDocumentxmlDoc=newXmlDocument();xmlDoc.LoadXml(xmlStringGoesHere);intintNumFound=Convert.ToInt32(xmlDoc.SelectSingleNode("/orcid-message/orcid-search-results/@num-found").Value);我想使用SelectSingl

html - 某个兄弟之前的所有子元素的 XPath?

我有一个如下所示的HTML文件:aba2b2a3b3我想做的是首先在html文件中找到所有事件节点,然后为每个事件节点找到所有后续的兄弟节点,直到它遇到操作节点。所以,对于第一个事件节点,结果应该是ab对于第二个事件节点,结果应该是a3b3第一步,我用了/r/ab/event并得到了想要的结果,然而,我在第二步中卡住了并感到困惑,我尝试使用following-sibling::*[following-sibling::action[1]]它给了我结果aba2b2对于第一个事件节点,以及结果a3b3对于第二个事件节点。知道如何解决这个问题吗?另外,我想我可能会在谓词中滥用followin